Features Added: - Local-Variable Type Inference: It will enhance the Java Language to extend type inference to declarations of local variables with initializers and also introduces var to Java, something that is common in other languages.
- Application Data-Class Sharing: This JEP extends the existing Class-Data Sharing (CDS) feature for allowing application classes to be placed in the shared archive in order to improve startup and footprint.
- Parallel Full GC for G1: It improves G1 worst-case latencies by making the full GC parallel.
- Garbage Collector Interface: It will improve the source code isolation of different garbage collectors by introducing a clean garbage collector (GC) interface.
- Thread-Local Handshakes: It introduces a way to execute a callback on threads without performing a global VM safepoint. Makes it both possible and cheap to stop individual threads and not just all threads or none.
- Time-Based Release Versioning: It revises the version-string scheme of the Java SE Platform and the JDK, and related versioning information, for present and future time-based release models.
- Heap Allocation on Alternative Memory Devices: It enables the HotSpot VM to allocate the Java object heap on an alternative memory device, such as an NV-DIMM, specified by the user.
- Experimental Java-Based JIT Compiler: It enables the Java-based JIT compiler, Graal, to be used as an experimental JIT compiler on the Linux/x64 platform.
- Additional Unicode Language-Tag Extensions: It will enhance the java.util.Locale and related APIs to implement additional Unicode extensions of BCP 47 language tags. | Features Added: - New String Methods: isBlank, lines, strip, stripLeading, stripTrailing, and repeat.
- New File Methods: We can use the new readString and writeString static methods from the Files class.
- Collection to an Array: The java.util.Collection interface contains a new default toArray method.
- The Not Predicate Method: A static not method has been added to the Predicate interface. We can use it to negate an existing predicate.
- Local-Variable Syntax for Lambda: Support for using the local variable syntax (var keyword) in lambda parameters.
- HTTP Client: The new HTTP API improves overall performance and provides support for both HTTP/1.1 and HTTP/2.
- Nest Based Access Control: A nest of classes in Java implies both the outer/main class and all its nested classes.
- Running Java Files: We don't need to compile the Java source files with javac explicitly anymore. Instead, we can directly run the file using the java command.
- Performance Enhancements: Dynamic Class-File Constants, Improved Aarch64 Intrinsics, A No-Op Garbage Collector, Flight Recorder. |